Package-level declarations

Types

Link copied to clipboard
data class ExerciseRecord(val id: Long, val name: String, val maxPoints: Int)
Link copied to clipboard
data class GradingSubmissionSnapshot(val exercise: ExerciseRecord, val submissions: List<GradingSubmissionSummary>)
Link copied to clipboard
data class GradingSubmissionSummary(val id: Long, val grade: Int, val submitterIds: List<Long>, val submittedAt: String?, val graded: Boolean, val tags: List<String>)
Link copied to clipboard
Link copied to clipboard

A bounded ZIP archive that releases entry bytes after one write.

Link copied to clipboard
sealed interface SubmissionArchiveAccess

Carries a one-shot archive or reports that the submission is missing.

Link copied to clipboard
sealed interface SubmissionContentAccess

Distinguishes missing upstream content from content denied by submitter ownership.

Link copied to clipboard
@Serializable
data class SubmissionContentResponse(val id: Long, val exerciseId: Long, val maxPoints: Int, val status: String, val grade: Int, val submittedAt: String?, val submitterIds: List<Long>, val htmlUrl: String, val feedbackHtml: String, val tags: List<String>, val files: List<SubmissionFileContent>)
Link copied to clipboard

Loads submission metadata, previews, and archives behind current authorization checks.

Link copied to clipboard
data class SubmissionFileBytes(val filename: String, val mediaType: String? = null, val bytes: ByteArray? = null, val downloadUrl: String? = null, val downloadKind: SubmissionFileDownloadKind? = null, val previewReason: SubmissionFilePreviewReason? = null)
Link copied to clipboard
@Serializable
data class SubmissionFileContent(val filename: String, val mediaType: String? = null, val preview: SubmissionFilePreview, val contentBase64: String? = null, val downloadUrl: String? = null, val downloadKind: SubmissionFileDownloadKind? = null, val previewReason: SubmissionFilePreviewReason? = null, val unchangedLines: List<Int> = emptyList(), val matchesTemplate: Boolean = false)
Link copied to clipboard
Link copied to clipboard
data class SubmissionFileReference(val id: Long, val url: String, val filename: String, val parameterName: String)
Link copied to clipboard
data class SubmissionRecord(val id: Long, val feedbackHtml: String, val htmlUrl: String, val status: String, val grade: Int, val latePenaltyApplied: Double?, val exerciseId: Long, val maxPoints: Int, val files: List<SubmissionFileReference>, val submitterIds: List<Long>, val submittedAt: String?, val graderId: Long?)
Link copied to clipboard

Supplies submission metadata and bounded file downloads in Hanami-owned models.

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
const val MAX_ARCHIVE_ENTRIES: Int = 500
Link copied to clipboard
const val MAX_ARCHIVE_PATH_LENGTH: Int = 1024
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard